package org.example.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.example.domain.po.ErpAccountHead;
import com.baomidou.mybatisplus.extension.service.IService;
import org.example.domain.po.ErpDepotHead;

import java.util.List;

/**
* @author 24059
* @description 针对表【erp_account_head(财务主表)】的数据库操作Service
* @createDate 2024-11-25 10:03:55
*/
public interface ErpAccountHeadService extends IService<ErpAccountHead> {
    Page<ErpAccountHead> selectByExample(Page<ErpAccountHead> page,
                                         @Param("billNo") String billNo, @Param("billTime")String billTime, @Param("status") String status,
                                         @Param("organId")Long organId, @Param("handsPersonId")Long handsPersonId, @Param("accountId")Long accountId,
                                         @Param("supId")Long supId, @Param("remark")String remark,@Param("username") String username);
    List<ErpAccountHead> selectBy(@Param("id")Long id);
    List<ErpAccountHead> selectByzc(@Param("type")String type,@Param("id")Long id);
    List<ErpAccountHead> selectBysk(@Param("type")String type,@Param("id")Long id);
    Page<ErpAccountHead> selectByExamplezz(Page<ErpAccountHead> page,
                                           @Param("billNo")String billNo, @Param("billTime") String billTime, @Param("status") String status,
                                           @Param("organId") Long organId, @Param("handsPersonId") Long handsPersonId, @Param("accountId") Long accountId,
                                           @Param("supId") Long supId, @Param("remark") String remark,@Param("username") String username,@Param("type")String type);
    Page<ErpAccountHead> selectByExamplesyfk(Page<ErpAccountHead> page,
                                           @Param("billNo")String billNo, @Param("billTime") String billTime, @Param("status") String status,
                                           @Param("organId") Long organId, @Param("handsPersonId") Long handsPersonId, @Param("accountId") Long accountId,
                                           @Param("supId") Long supId, @Param("remark") String remark,@Param("username") String username,@Param("type")String type);
    Page<ErpAccountHead> selectByExamplezc(Page<ErpAccountHead> page,
                                           @Param("billNo")String billNo, @Param("billTime") String billTime, @Param("status") String status,
                                           @Param("organId") Long organId, @Param("handsPersonId") Long handsPersonId, @Param("accountId") Long accountId,
                                           @Param("supId") Long supId, @Param("remark") String remark,@Param("username") String username,@Param("type")String type);

    Page<ErpAccountHead> selectByExamplesk(Page<ErpAccountHead> page,
                                           @Param("billNo")String billNo, @Param("billTime") String billTime, @Param("status") String status,
                                           @Param("organId") Long organId, @Param("handsPersonId") Long handsPersonId, @Param("accountId") Long accountId,
                                           @Param("supId") Long supId, @Param("remark") String remark,@Param("username") String username,@Param("supName") String supName,@Param("type") String type);
    List<ErpAccountHead> selectByzz(@Param("type")String type,@Param("id")Long id);
    List<ErpAccountHead> selectBysyfk(@Param("id")Long id);
    int insertSelective2(ErpAccountHead erpAccountHead);
    Long finbyid(@Param("billNo")String billNo);
    int updateby(@Param("erpAccountHead")ErpAccountHead erpAccountHead,@Param("billNo")String billNo);
    Long lookByHeaderId(@Param("biiNo") String biiNo);


}
